This specification relates to storage and processing of data in cloud environments.
Cloud computing is network-based computing in which typically large collections of servers housed in data centers or “server farms” provide computational resources and data storage as needed to remote end users. To adopt the public cloud, customers must be willing to entrust their sensitive data and applications to cloud providers. To be able to make this decision, customers have to be convinced that their data and execution is safe; that they are protected from all type of attackers and are ultimately in control of their applications and data. Trust is thus one of the core enablers of cloud adoption but also an important consideration for adoption.
Traditionally, the trusted execution environments were created to support stand-alone computers and mobile devices to provide secure execution in the isolated trusted firmware based environments. However, these strategies are inadequate for the increased flexibility of the distributed computing and, in particular, do not meet the goals and scale of the public cloud.